<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width">
        <meta name="restype" content="api">
        <meta name="product" content="kendo-ui">
        
        <title>API Reference for Kendo UI PivotDataSource</title>
        <link rel="shortcut icon" href="/favicon.ico"/>
        <meta name="description" content="Learn more about the configuration of Kendo UI PivotDataSource, methods and events.">
        <link href="//fonts.googleapis.com/css?family=Roboto:400,500,700,900" rel="stylesheet">
        <link href='https://fonts.googleapis.com/css?family=Roboto+Mono:400,500,700' rel='stylesheet' type='text/css'>
        <!-- <link href="https://kendo.cdn.telerik.com/2017.3.1026/styles/kendo.common.min.css" rel="stylesheet" /> -->
        <link rel="stylesheet" href="http://oygy5legq.bkt.clouddn.com/kendo.common.min.css">
        <link rel="stylesheet" href="/assets/styles.css?cb=8338967476da1c756a6defe19c1f9984">
        <link rel="stylesheet" href="/assets/icon-font.css?cb=25d8b9593057297c278fcd6d7d263c8e">
        <link rel="stylesheet" href="/assets/theme.css?cb=d82da02940126146560da1ae3bb0bf64">
        
        <!-- <script src="https://code.jquery.com/jquery-1.10.2.js"></script> -->
        <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script>
        <!-- <script src="https://kendo.cdn.telerik.com/2017.3.1026/js/kendo.web.min.js"></script> -->
        <script src="http://oygy5legq.bkt.clouddn.com/kendo.web.min.js"></script>
        <!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.6.0/codemirror.min.css">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.6.0/codemirror.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.6.0/mode/javascript/javascript.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.6.0/mode/css/css.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.6.0/mode/xml/xml.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.6.0/mode/htmlmixed/htmlmixed.min.js"></script> -->
        <script src="/assets/prettify.js?cb=9671553084e1962263b152af1f563c3c"></script>
        <script src="/assets/app.js?cb=c577f29da14c3752a8c4ba001dde39e5"></script>
        
        <script src="/assets/dojo.js?cb=545f7f252dd3279c5a236b777c1668f1"></script>
        
        

        <!--[if lt IE 9]>
        <script>
        document.createElement('header');
        document.createElement('nav');
        document.createElement('section');
        document.createElement('article');
        document.createElement('aside');
        document.createElement('footer');
        document.createElement('hgroup');
        </script>
        <![endif]-->
    </head>
    <body>
        <!-- Google Tag Manager -->
        <!-- <noscript>
            <iframe src="//www.googletagmanager.com/ns.html?id=GTM-6X92" height="0" width="0" style="display: none; visibility: hidden"></iframe>
        </noscript>
        <script>(function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-6X92');</script> -->
        <!-- End Google Tag Manager -->
        <aside class="TK-Hat">
    <figure class="TK-Hat-Brand">
        <a href="https://www.progress.com" class="TK-PRGS-Logo">
            <svg xmlns="http://www.w3.org/2000/svg" width="94" height="40" viewBox="0 0 512 120">
                <path fill="#5ce500" d="M95.52 29.33v51a3.93 3.93 0 0 1-1.78 3.08l-1.67 1-12.72 7.35-8.59 5-1.78 1V42.6L21.23 15 43.91 1.93 46 .74a3.94 3.94 0 0 1 3.56 0L81 18.9l14.51 8.38v2.05zM58.36 48.72l-9.79-5.66-22.91-13.23a4 4 0 0 0-3.56 0L1.77 41.57 0 42.6l34.49 19.91v39.83l20.3-11.73 1.79-1a3.94 3.94 0 0 0 1.78-3.08V48.72zM0 82.43l23.86 13.78V68.63z"></path>
                <path fill="#4b4e52" d="M148.09 27.28h-26v70.48h11.55V70.1h14.57c15.77 0 24.45-7.7 24.45-21.69 0-6.35-2.4-21.12-24.55-21.12m12.78 21.31c0 7.95-4.12 11.19-14.24 11.19h-13v-22.1h14.57c8.56 0 12.71 3.57 12.71 10.91M207 46.41l.87.42-2 10.42-1.35-.42a11.32 11.32 0 0 0-3.34-.51c-10.79 0-11.67 8.59-11.67 19v22.44h-10.64V46h10v6.24c2.73-4.2 6-6.37 10.37-6.9a14.55 14.55 0 0 1 7.76 1.07M233.29 45c-8.42 0-15.16 3.2-19.5 9.27-4.56 6.37-5.23 13.85-5.23 17.74 0 16.36 9.7 26.92 24.73 26.92 18.26 0 24.73-14.71 24.73-27.3 0-7.25-2.15-13.82-6-18.51-4.41-5.31-10.87-8.12-18.7-8.12m0 44.38c-8.37 0-13.57-6.66-13.57-17.37s5.2-17.55 13.57-17.55S247 61.23 247 71.78c0 10.83-5.24 17.56-13.66 17.56m114.55-42.93l.87.42-2 10.42-1.35-.42a11.26 11.26 0 0 0-3.33-.51c-10.78 0-11.66 8.59-11.66 19v22.44h-10.66V46h10v6.24c2.73-4.2 6-6.37 10.37-6.9a14.54 14.54 0 0 1 7.73 1.06m38.4 34.76l-.2.57c-2.23 6.36-7.57 7.7-11.65 7.7-8.09 0-13.3-5.37-13.81-14.09h36.59l.13-1a31.26 31.26 0 0 0 .12-4.12v-.93C396.93 54.78 387.48 45 374 45c-7.9 0-14.37 3.1-18.73 9a30.85 30.85 0 0 0-5.54 18c0 16 9.95 26.74 24.74 26.74 11.45 0 19.33-5.82 22.2-16.38l.33-1.2h-10.7zM361 66.05c.9-7.17 5.81-11.73 12.79-11.73 5.33 0 11.64 3.1 12.52 11.73H361zm-60.7-15.71c-3.45-3.58-8.06-5.39-13.76-5.39-15.69 0-22.83 13.81-22.83 26.63 0 13.16 7.06 26.44 22.83 26.44a18.33 18.33 0 0 0 13.35-5.42c0 2.28-.1 4.45-.16 5.38-.58 8.54-4.68 12.51-12.91 12.51-4.47 0-9.61-1.59-10.6-6l-.22-1h-10.54l.17 1.41c1.1 9.12 9.11 14.79 20.9 14.79 10.34 0 17.7-3.9 21.28-11.26 1.73-3.55 2.6-8.72 2.6-15.37V46h-10.13v4.34zm-13.11 38.15c-3.74 0-12.43-1.69-12.43-17.37 0-10.3 4.87-16.7 12.71-16.7 6.06 0 12.52 4.39 12.52 16.7 0 10.87-4.79 17.37-12.81 17.37m159.67-6.31c0 8.23-6.83 16.53-22.09 16.53-13.5 0-21.53-5.85-22.61-16.45l-.15-1.1h10.52l.21.84c1.29 6.38 7.37 7.72 12.24 7.72 5.34 0 11-1.72 11-6.54 0-2.44-1.59-4.18-4.73-5.16-1.86-.55-4.15-1.2-6.56-1.87-4.16-1.16-8.47-2.38-11.12-3.29-6.56-2.35-10.33-6.93-10.33-12.56 0-10.43 10.16-15.11 20.22-15.11 13.46 0 20.42 5.07 21.3 15.49l.09 1.07H434.5l-.14-.82c-1-6-7-6.9-10.48-6.9-3 0-10 .53-10 5.5 0 2.25 1.93 3.91 5.89 5.06 1.18.33 2.94.78 5 1.31 4.22 1.09 9.48 2.46 12.13 3.37 6.59 2.32 9.93 6.67 9.93 13m49.39 0c0 8.23-6.83 16.53-22.09 16.53-13.5 0-21.53-5.85-22.61-16.45l-.11-1.09H462l.12.74c1.29 6.38 7.37 7.72 12.24 7.72 5.34 0 11-1.72 11-6.54 0-2.44-1.59-4.18-4.72-5.16-1.86-.55-4.15-1.2-6.57-1.87-4.16-1.16-8.46-2.38-11.11-3.29-6.57-2.35-10.33-6.93-10.33-12.56 0-10.43 10.16-15.11 20.22-15.11 13.46 0 20.42 5.07 21.29 15.49l.09 1.07H483.9l-.14-.82c-1-6-7-6.9-10.48-6.9-3 0-9.95.53-9.95 5.5 0 2.25 1.93 3.91 5.89 5.06 1.18.33 2.94.78 5 1.31 4.22 1.09 9.48 2.46 12.13 3.37 6.58 2.32 9.93 6.67 9.93 13m8.43-30.78a7.37 7.37 0 1 1 7.29-7.37 7.23 7.23 0 0 1-7.29 7.37m0-13.49a6.12 6.12 0 1 0 6 6.12 5.91 5.91 0 0 0-6-6.12m-.85 7.49v2.46h-2.17v-7.74h3.62a2.58 2.58 0 0 1 2.86 2.7 2.26 2.26 0 0 1-1.49 2.34l1.77 2.7H506l-1.49-2.46h-.68zm1.21-3.49h-1.21v1.73h1.21a.86.86 0 0 0 1-.85.88.88 0 0 0-1-.89"></path>
            </svg>
        </a>
    </figure>
</aside>
<header id="page-header">
    <div class="toggle-nav"><span class="k-icon k-i-menu"></span></div>


    <div id="logo-bar">
        <a href="/introduction">
            <img alt="Kendo UI logo" class="logo" src="/images/kendo-ui.svg">
        </a>
    </div>

    
    <span class="show-search">
        <span class="k-icon k-i-search"></span>
    </span>
    
    <div class="nav-buttons">
        <a href="http://demos.telerik.com/kendo-ui/" class="btn demos-btn">Demos</a>
        <a href="http://www.telerik.com/kendo-ui" class="btn about-btn">About</a>
        <a href="http://www.telerik.com/purchase/kendo-ui" class="btn pricing-btn">Pricing</a>
        <a href="http://www.telerik.com/download/kendo-ui" class="btn btn-primary">Try now</a>
    </div>
</header>
        <div id="page-inner-content">
    <div id="page-nav">
        <div id="page-tree"></div>
        <script>
        $("#page-tree").kendoTreeView({
            dataSource: {
                transport: {
                    read: {
                        url: "/default.json",
                        dataType: "json"
                    }
                },
                schema: {
                    model: {
                        id: "path",
                        children: "items",
                        hasChildren: "items"
                    }
                }
            },
            messages: {
                loading: " "
            },
            select: preventParentSelection,
            template: navigationTemplate("/"),
            dataBound: expandNavigation("api/javascript/data/pivotdatasource.html")
        });
        </script>
    </div>

    <a id="page-edit-link" href="https://github.com/telerik/kendo-ui-core/edit/master/docs//api/javascript/data/pivotdatasource.md"><span class="k-icon k-i-pencil"></span> Edit this page</a>
    <div id="markdown-toc"></div>

    <div id="page-article">
        <article>
            
             <h1 id="kendodatapivotdatasource"><a href="#kendodatapivotdatasource">kendo.data.PivotDataSource</a></h1>

<p>The data source used by the <a href="/api/javascript/ui/pivotgrid">kendo.ui.PivotGrid</a> widget.
Inherits from <a href="/api/framework/datasource">kendo.data.DataSource</a>.</p>

<h2 id="configuration"><a href="#configuration">Configuration</a></h2>

<p>See the <a href="/api/framework/datasource#configuration">DataSource configuration</a> for all inherited configuration options.</p>

<h3 id="configuration-columns">
<a href="#configuration-columns">columns </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a>
</h3>

<p>The configuration of columns axis members. An array of JavaScript objects or strings. A JavaScript objects are interpreted as column descriptors. Strings are interpreted as the hierarchical name of the member.</p>

<h4>Example - set the columns</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: ["[Date].[Calendar]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-columns.expand">
<a href="#configuration-columns.expand">columns.expand </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean" class="type-link"><code>Boolean</code></a>
</h3>

<p>If set to true the member will be expanded.</p>

<h4>Example - set the column as expanded</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: [{ name: "[Date].[Calendar]", expand: true }],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-columns.name">
<a href="#configuration-columns.name">columns.name </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The hierarchical name of the column</p>

<h4>Example - set the column name</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: [{ name: "[Date].[Calendar]", expand: false }],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }

});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-measures">
<a href="#configuration-measures">measures </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a>
</h3>

<p>The configuration of measures. An string array which values are interpreted as the name of the measures to be loaded.
Measures can be defined as a list of objects with <code>name</code> and <code>type</code> fields:</p>

<pre><code>[{
    name: "[Measures].[_Internet Current Quarter Sales Performance Status]",
    type: "status"
}]
</code></pre>

<blockquote>
<p>The <code>type</code> value can be defined to "status" or "trend" to render <a href="/api/javascript/ui/pivotgrid#configuration-kpiStatusTemplate">kpiStatusTemplate</a>
or <a href="/api/javascript/ui/pivotgrid#configuration-kpiTrendTemplate">kpiTrendTemplate</a>. If type is not defined, then the
<a href="/api/javascript/ui/pivotgrid#configuration-dataCellTemplate">dataCellTemplate</a> will be used.</p>
</blockquote>

<h4>Example - set the measures</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  measures: ["[Measures].[Internet Order Lines Count]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-measures.values">
<a href="#configuration-measures.values">measures.values </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a>
</h3>

<p>An string array which values are interpreted as the name of the measures to be loaded.</p>

<h4>Example - set the measures</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  measures: {
      values: ["[Measures].[Internet Order Lines Count]"]
  },
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-measures.axis">
<a href="#configuration-measures.axis">measures.axis </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a> <em>(default: columns)</em>
</h3>

<p>The name of the axis on which the measures will be displayed. Supported values are rows or columns. This option is applicable if multiple measures are used.</p>

<h4>Example - set the measures axis</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  measures: {
      values: ["[Measures].[Internet Order Lines Count]", "[Measures].[Days Current Quarter to Date]"],
      axis: "rows"
  },
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-rows">
<a href="#configuration-rows">rows </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a>
</h3>

<p>The configuration of rows axis members. An array of JavaScript objects or strings. A JavaScript objects are interpreted as rows descriptors. Strings are interpreted as the hierarchical name of the member.</p>

<h4>Example - set the columns</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  rows: ["[Date].[Calendar]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-rows.expand">
<a href="#configuration-rows.expand">rows.expand </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean" class="type-link"><code>Boolean</code></a>
</h3>

<p>If set to true the member will be expanded.</p>

<h4>Example - set the rows as expanded</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: [{ name: "[Date].[Calendar]", expand: true }],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-rows.name">
<a href="#configuration-rows.name">rows.name </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The hierarchical name of the rows</p>

<h4>Example - set the rows name</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  rows: [{ name: "[Date].[Calendar]", expand: false }],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h3 id="configuration-transport">
<a href="#configuration-transport">transport </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a>
</h3>

<p>The configuration used to load data items and discover schema information.</p>

<h3 id="configuration-transport.discover">
<a href="#configuration-transport.discover">transport.discover </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function</code></a>
</h3>

<p>The configuration used when the data source discovers schema information about the current cube.</p>

<blockquote>
<p>The data source uses <a href="http://api.jquery.com/jQuery.ajax">jQuery.ajax</a> to make a HTTP request to the remote service. The value configured via <code>transport.discover</code> is passed to <code>jQuery.ajax</code>. This means that you can set
all options supported by <code>jQuery.ajax</code> via <code>transport.read</code> except the <code>success</code> and <code>error</code> callback functions which are used by the transport.</p>
</blockquote>

<p>If the value of <code>transport.discover</code> is a function, the data source invokes that function instead of <code>jQuery.ajax</code>.</p>

<p>If the value of <code>transport.discover</code> is a string the data source uses this string as the URL of the remote service.</p>

<p>If the value of <code>transport.discover</code> is omitted the data source uses <code>transport.read</code> for schema discover.</p>

<h4>Example - set the discover remote service</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    discover: "http://demos.telerik.com/olap/msmdpump.dll",
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});
dataSource.schemaDimensions().done(function(dimensions) {
  console.log(dimensions.length);
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-transport.connection">
<a href="#configuration-transport.connection">transport.connection </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a>
</h3>

<p>The configuration used for setting connection options.</p>

<h3 id="configuration-transport.connection.catalog">
<a href="#configuration-transport.connection.catalog">transport.connection.catalog </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The catalog name.</p>

<h4>Example - set the connection catalog name</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll",
  },
  schema: {
    type: "xmla"
  }

});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-transport.connection.cube">
<a href="#configuration-transport.connection.cube">transport.connection.cube </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The cube name in the current data source.</p>

<h4>Example - set the cube catalog name</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll",
  },
  schema: {
    type: "xmla"
  }
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema">
<a href="#configuration-schema">schema </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a>
</h3>

<p>The schema configuration of the PivotDataSource.</p>

<h3 id="configuration-schema.axes">
<a href="#configuration-schema.axes">schema.axes </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The field from the server response which contains the columns and rows axes data. Can be set to a function which is called to
return the columns and rows axes data for the response.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> The columns and rows axes data from the response.</p>

<p>The result should have the following format and attributes:</p>

<pre><code>{
    columns:{ // columns axis data
        tuples:[{
                members:[{
                    children:[],
                    caption:"All",
                    name:"[Date].[Calendar].[All]",
                    levelName:"[Date].[Calendar].[(All)]",
                    levelNum:"0",
                    hasChildren:true,
                    hierarchy:"[Date].[Calendar]"
                }, /*..other tuple members..*/]
            }
            /*..other tuples..*/
        ]
    },
    rows:{ //rows axis data
        tuples:[{
                members:[{
                    children:[],
                    caption:"All",
                    name:"[Customer].[Commute Distance].[All]",
                    levelName:"[Customer].[Commute Distance].[(All)]",
                    levelNum:"0",
                    hasChildren:true,
                    hierarchy:"[Customer].[Commute Distance]"
                }, /*..other tuple members..*/]
            },
            /*..other tuples..*/
        ]
    }
}
</code></pre>

<h4>Example - specify the field which contains columns and rows axes as a string</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    axes: "axes" // axes are returned in the "axes" field of the response
  }
});
&lt;/script&gt;
</code></pre>

<h4>Example - set columns and rows axes data as a function</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    axes: function(response) {
      return response.axes; // axes are returned in the "axes" field of the response
    }
  }
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema.catalogs">
<a href="#configuration-schema.catalogs">schema.catalogs </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The field from the server response which contains the list of catalogs available on the server. Can be set to a function which is called to
return the catalogs schema information for the response. It is executed during the schema discover.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> The catalogs schema from the response.</p>

<p>The result should have the following format and attributes:</p>

<pre><code>[{
    "name":"Adventure Works Internet Sales Model"
}]
</code></pre>

<h4>Example - specify the field which contains catalogs schema information as a string</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    catalogs: "catalogs" // catalogs information is returned in the "catalogs" field of the response
  }
});
&lt;/script&gt;
</code></pre>

<h4>Example - set cubes schema information as a function</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    catalogs: function(response) {
      return response.catalogs; // catalogs information are returned in the "catalogs" field of the response
    }
  }
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema.cubes">
<a href="#configuration-schema.cubes">schema.cubes </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The field from the server response which contains the list of cubes available in the catalog. Can be set to a function which is called to
return the cubes schema information for the response. It is executed during the schema discover.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> The cubes schema from the response.</p>

<p>The result should have the following format and attributes:</p>

<pre><code>[{
    name:"Adventure Works Internet Sales Model",
    caption:"Adventure Works Internet Sales Model",
    type:"CUBE"
 },{
    name:"Internet Sales",
    caption:"Internet Sales",
    type:"CUBE"
 }]
</code></pre>

<h4>Example - specify the field which contains cubes schema information as a string</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    cubes: "cubes" // cubes information is returned in the "cubes" field of the response
  }
});
&lt;/script&gt;
</code></pre>

<h4>Example - set cubes schema information as a function</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    cubes: function(response) {
      return response.cubes; // cubes information are returned in the "cubes" field of the response
    }
  }
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema.cube">
<a href="#configuration-schema.cube">schema.cube </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a>
</h3>

<p>The cube declaration. If configured this option will enable the client cube processing, useful for binding to flat data. Note: This is only applicable if client cube processing is used.</p>

<h4>schema.cube.dimensions <code>Object</code>
</h4>

<p>A set of key/value pairs which specify the field-dimension mapping for the available for processing dimensions. The key specifies the name of the field to which the dimension will be mapped. Note: The key should match the column name used in the columns definition.</p>

<h5>Example - define cube dimensions</h5>

<pre><code>&lt;script&gt;
  var dataSource = new kendo.data.PivotDataSource({
    columns: ["ProductName" ],
    rows: ["Category"],
    data: [{ ProductName: "Chai", UnitPrice: 42, Cateogry: "Beverages" } ],
    schema: {
      cube: {
        dimensions: {
          ProductName: { caption: "All Products" },
          Category: { caption: "All Cateogries" }
        }
      }
    }
  });

  dataSource.fetch(function() {
    console.log(dataSource.data(), dataSource.axes());
  });
&lt;/script&gt;
</code></pre>

<h5>schema.cube.dimensions.dimensionName <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The name of the field which map to the dimension.</p>

<h5>schema.cube.dimensions.dimensionName.caption <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>A user-friendly name of the dimension.</p>

<h4>schema.cube.measures <code>Object</code>
</h4>

<p>A set of key/value pairs which specify the available measures. The key specifies the name of measure.Note: The key should match the measure name used in the measures definition of the PivotDataSource</p>

<h4>Example - define cube measures which calculates the sum of products price</h4>

<pre><code>&lt;script&gt;
  var dataSource = new kendo.data.PivotDataSource({
    columns: ["ProductName" ],
    rows: ["Category"],
    measures: ["Sum"],
    data: [{ ProductName: "Chai", UnitPrice: 42, Cateogry: "Beverages" } ],
    schema: {
      cube: {
        dimensions: {
          ProductName: { caption: "All Products" },
          Category: { caption: "All Cateogries" }
        },
        measures: {
          "Sum": {
              field: "UnitPrice",
              format: "{0:c}",
              aggregate: function(value, state, context) {
                  return (state.accumulator || 0) + value;
              }
          }
        }
      }
    }
  });

  dataSource.fetch(function() {
    console.log(dataSource.data(), dataSource.axes());
  });
&lt;/script&gt;
</code></pre>

<h5>schema.cube.measures.measureName.field <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The field name which value is used to calculations.</p>

<h5>schema.cube.measures.measureName.format <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The format which to be applied on the calculated measure value.</p>

<h5>schema.cube.measures.measureName.aggregate <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The function used to aggregate the measure value. The built-in aggregates are "average", "count", "max", "min" and "sum".</p>

<h6>Returns</h6>

<p><code>Object</code> The result of the calculation</p>

<h6>Parameters</h6>

<h6># value <code>Object</code>
</h6>

<p>The value of the specified field of the current processed record.</p>

<h6># state <code>Object</code>
</h6>

<p>The current aggregated result of the function for already processed records.</p>

<blockquote>
<p>The <code>state</code> uses a predefined field named <strong>accumulator</strong>, where the last aggregated result is preserved.</p>
</blockquote>

<h6># context <code>Object</code>
</h6>

<p>The context for the current aggregate call. It includes the current data item and its index in the data:</p>

<pre><code>{
    dataItem: `data item`,
    index: `data item index`
}
</code></pre>

<h6>Example - specify a built-in "average" aggregate function</h6>

<pre><code>&lt;script&gt;
  var dataSource = new kendo.data.PivotDataSource({
    columns: ["ProductName" ],
    rows: ["Category"],
    measures: ["Sum"],
    data: [{ ProductName: "Chai", UnitPrice: 42, Cateogry: "Beverages" } ],
    schema: {
      cube: {
        dimensions: {
          ProductName: { caption: "All Products" },
          Category: { caption: "All Cateogries" }
        },
        measures: {
          "Average": {
            field: "UnitPrice",
            aggregate: "average"
        }
      }
    }
  });

  dataSource.fetch(function() {
    console.log(dataSource.data(), dataSource.axes());
  });
&lt;/script&gt;
</code></pre>

<h6>Example - specify an aggregate function for a value summing</h6>

<pre><code>&lt;script&gt;
  var dataSource = new kendo.data.PivotDataSource({
    columns: ["ProductName" ],
    rows: ["Category"],
    measures: ["Sum"],
    data: [{ ProductName: "Chai", UnitPrice: 42, Cateogry: "Beverages" } ],
    schema: {
      cube: {
        dimensions: {
          ProductName: { caption: "All Products" },
          Category: { caption: "All Cateogries" }
        },
        measures: {
          "Average": {
            field: "UnitPrice",
            aggregate: function(value, state, context) {
                return (state.accumulator || 0) + value;
            }
        }
      }
    }
  });

  dataSource.fetch(function() {
    console.log(dataSource.data(), dataSource.axes());
  });
&lt;/script&gt;
</code></pre>

<h5>schema.cube.measures.measureName.result <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function</code></a>
</h5>

<p>The function that will be called at the end of tuple aggregation.</p>

<blockquote>
<p>If it is not defined, the <code>state.accumulator</code> value set in the <code>aggregate</code> function will be used.</p>
</blockquote>

<h6>Returns</h6>

<p><code>Object</code> The result of the calculation</p>

<h6>Parameters</h6>

<h6># state <code>Object</code>
</h6>

<p>The last aggregated result of the function for already processed records.</p>

<blockquote>
<p>The <code>state</code> uses a predefined field named <strong>accumulator</strong>, where the last aggregated result is preserved.</p>
</blockquote>

<h6>Example - specify a result function calculating the final value</h6>

<pre><code>&lt;script&gt;
  var dataSource = new kendo.data.PivotDataSource({
    columns: ["ProductName" ],
    rows: ["Category"],
    measures: ["Sum"],
    data: [{ ProductName: "Chai", UnitPrice: 42, Cateogry: "Beverages" } ],
    schema: {
      cube: {
        dimensions: {
          ProductName: { caption: "All Products" },
          Category: { caption: "All Cateogries" }
        },
        measures: {
          "Average": {
            field: "UnitPrice",
            aggregate: function(value, state, context) {
                if (!isNaN(value)) {
                    state.count = (state.count || 0) + 1;
                    return (state.accumulator || 0) + value;
                } else {
                    return state.accumulator;
                }
            },
            result: function(state) {
                result state.accumulator / state.count;
            }
        }
      }
    }
  });

  dataSource.fetch(function() {
    console.log(dataSource.data(), dataSource.axes());
  });
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema.data">
<a href="#configuration-schema.data">schema.data </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The field from the server response which contains the cells data. Can be set to a function which is called to
return the cells data for the response.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> The cells data from the response.</p>

<p>The result should have the following format and attributes:</p>

<pre><code>[{
    value:"1",
    fmtValue:"1",
    ordinal:0
},{
    value:"42",
    fmtValue:"$42.00",
    ordinal:1
}, /*..*/]
</code></pre>

<h4>Example - specify the field which contains cells data as a string</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    data: "data" // cells data are returned in the "data" field of the response
  }
});
&lt;/script&gt;
</code></pre>

<h4>Example - set cells data as a function</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    data: function(response) {
      return response.data; // cells data are returned in the "data" field of the response
    }
  }
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema.dimensions">
<a href="#configuration-schema.dimensions">schema.dimensions </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The field from the server response which contains the dimensions schema information. Can be set to a function which is called to
return the dimensions schema information for the response. It is executed during the schema discover.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> The dimensions schema from the response.</p>

<p>The result should have the following format and attributes:</p>

<pre><code>[
  {
     "name":"Customer",
     "caption":"Customer",
     "uniqueName":"[Customer]",
     "defaultHierarchy":"[Customer].[Commute Distance]",
     "type":"3"
  },
  {
     "name":"Date",
     "caption":"Date",
     "uniqueName":"[Date]",
     "defaultHierarchy":"[Date].[Calendar]",
     "type":"1"
  }, /*..*/
</code></pre>

<p>]</p>

<h4>Example - specify the field which contains dimensions schema information as a string</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    dimensions: "dimensions" // dimensions information is returned in the "dimensions" field of the response
  }
});
&lt;/script&gt;
</code></pre>

<h4>Example - set dimensions schema information as a function</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    dimensions: function(response) {
      return response.dimensions; // dimensions information are returned in the "dimensions" field of the response
    }
  }
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema.hierarchies">
<a href="#configuration-schema.hierarchies">schema.hierarchies </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The field from the server response which contains the hierarchies schema information. Can be set to a function which is called to
return the hierarchies schema information for the response. It is executed during the schema discover requests.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> The cube hierarchies schema from the response.</p>

<p>The result should have the following format and attributes:</p>

<pre><code>[
    {
        "name":"Address Line 1",
        "caption":"Address Line 1",
        "uniqueName":"[Customer].[Address Line 1]",
        "dimensionUniqueName":"[Customer]",
        "origin":"2",
        "defaultMember":"[Customer].[Address Line 1].[All]"
    },
    {
        "name":"Address Line 2",
        "caption":"Address Line 2",
        "uniqueName":"[Customer].[Address Line 2]",
        "dimensionUniqueName":"[Customer]",
        "origin":"2",
        "defaultMember":"[Customer].[Address Line 2].[All]"
    },
    /*..*/
]
</code></pre>

<h4>Example - specify the field which contains hierarchies schema information as a string</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    hierarchies: "hierarchies" // hierarchies schema information is returned in the "hierarchies" field of the response
  }
});
&lt;/script&gt;
</code></pre>

<h4>Example - set hierarchies schema information as a function</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    hierarchies: function(response) {
      return response.hierarchies; // hierarchies information are returned in the "hierarchies" field of the response
    }
  }
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema.levels">
<a href="#configuration-schema.levels">schema.levels </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The field from the server response which contains the levels schema information. Can be set to a function which is called to
return the levels schema information for the response. It is executed during the schema discover.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> The levels schema from the response.</p>

<p>The result should have the following format and attributes:</p>

<p>[
      {
         "name":"(all)",
         "caption":"(all)",
         "uniquename":"[customer].[address line 1].[(all)]",
         "dimensionuniquename":"[customer]",
         "orderingproperty":"(all)",
         "origin":"2",
         "hierarchyuniquename":"[customer].[address line 1]"
      },
      {
         "name":"address line 1",
         "caption":"address line 1",
         "uniquename":"[customer].[address line 1].[address line 1]",
         "dimensionuniquename":"[customer]",
         "orderingproperty":"address line 1",
         "origin":"2",
         "hierarchyuniquename":"[customer].[address line 1]"
      }, /<em>..</em>/
   ]</p>

<h4>Example - specify the field which contains levels schema information as a string</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    levels: "levels" // levels information is returned in the "levels" field of the response
  }
});
&lt;/script&gt;
</code></pre>

<h4>Example - set levels schema information as a function</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    levels: function(response) {
      return response.levels; // levels information are returned in the "levels" field of the response
    }
  }
});
&lt;/script&gt;
</code></pre>

<h3 id="configuration-schema.measures">
<a href="#configuration-schema.measures">schema.measures </a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type-link"><code>Function |</code></a><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h3>

<p>The field from the server response which contains the measures schema information. Can be set to a function which is called to
return the measures schema information for the response. It is executed during the schema discover.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> The measures schema from the response.</p>

<p>The result should have the following format:</p>

<pre><code>[
    {
        "name":"Days Current Quarter to Date",
        "caption":"Days Current Quarter to Date",
        "uniqueName":"[Measures].[Days Current Quarter to Date]",
        "aggregator":"0",
        "groupName":"Date"
    },
    {
        "name":"Days in Current Quarter",
        "caption":"Days in Current Quarter",
        "uniqueName":"[Measures].[Days in Current Quarter]",
        "aggregator":"0",
        "groupName":"Date"
    },
    /*..*/
]
</code></pre>

<h4>Example - specify the field which contains measures schema information as a string</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    measures: "measures" // measures information is returned in the "measures" field of the response
  }
});
&lt;/script&gt;
</code></pre>

<h4>Example - set measures schema information as a function</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.PivotDataSource({
  transport: {
    /* transport configuration */
  }
  schema: {
    measures: function(response) {
      return response.measures; // measures information are returned in the "measures" field of the response
    }
  }
});
&lt;/script&gt;
</code></pre>

<h2 id="methods"><a href="#methods">Methods</a></h2>

<p>See the <a href="/api/framework/datasource#methods">DataSource methods</a> for all inherited methods.</p>

<h3 id="methods-axes"><a href="#methods-axes">axes</a></h3>

<p>Get the parsed axes data</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> the parsed axes data</p>

<h4>Example - get the axes data</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: ["[Date].[Calendar]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.fetch();

var axes = dataSource.axes();
&lt;/script&gt;
</code></pre>

<h3 id="methods-catalog"><a href="#methods-catalog">catalog</a></h3>

<p>Get or sets the current catalog name.</p>

<h4>Parameters</h4>

<h5>name <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The name of the catalog.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a> the current catalog name.</p>

<h4>Example - set the catalog</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: ["[Date].[Calendar]"],
  transport: {
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.catalog("Adventure Works DW 2008R2");
&lt;/script&gt;
</code></pre>

<h4>Example - get the catalog name</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: ["[Date].[Calendar]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

var catalogName = dataSource.catalog();
console.log(catalogName);// prints "Adventure Works DW 2008R2"
&lt;/script&gt;
</code></pre>

<h3 id="methods-columns"><a href="#methods-columns">columns</a></h3>

<p>Get or sets the columns configuration.</p>

<h4>Parameters</h4>

<h5>val <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a>
</h5>

<p>The columns configuration. Accepts the same values as the <a href="#configuration-columns">columns</a> option.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> the current columns configuration.</p>

<h4>Example - set the columns</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.columns(["[Date].[Calendar]"]);
&lt;/script&gt;
</code></pre>

<h4>Example - get the columns name</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: ["[Date].[Calendar]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

var columns = dataSource.columns();
console.log(columns);// [{ name: ["[Date].[Calendar]"] }]
&lt;/script&gt;
</code></pre>

<h3 id="methods-cube"><a href="#methods-cube">cube</a></h3>

<p>Get or sets the current cube name.</p>

<h4>Parameters</h4>

<h5>name <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The name of the cube.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a> the current cube name.</p>

<h4>Example - set the cube</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: ["[Date].[Calendar]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.cube("Adventure Works");

dataSource.fetch();
&lt;/script&gt;
</code></pre>

<h4>Example - get the cube name</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: ["[Date].[Calendar]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

var cubeName = dataSource.cube();
console.log(cubeName);// prints "Adventure Works"
&lt;/script&gt;
</code></pre>

<h3 id="methods-discover"><a href="#methods-discover">discover</a></h3>

<p>Starts discover request with given options.</p>

<h4>Parameters</h4>

<h5>options <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The options of the discover request</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> Deferred object</p>

<h4>Example</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.discover({
    data: {
      command: "schemaMeasures",
      restrictions: {
        catalogName: dataSource.catalog(),
        cubeName: dataSource.cube()
      }
    }).done(function(response) {
        console.log(response);
    });
&lt;/script&gt;
</code></pre>

<h3 id="methods-expandColumn"><a href="#methods-expandColumn">expandColumn</a></h3>

<p>Expands a column tuple member that has children.</p>

<blockquote>
<p>The path should includes the unique member names until the significant (the one that needs to be expanded) member is reached.</p>
</blockquote>

<h4>Parameters</h4>

<h5>path <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a>
</h5>

<p>The path that uniquely specifies the tuple member that needs to be expanded.</p>

<h4>Example - expand second level tuple member</h4>

<pre><code>&lt;!-- Real life demo: http://docs.telerik.com/kendo-ui/web/pivotgrid/how-to/expand-multiple-dimensions --&gt;

&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  columns: [{ name: "[Date].[Calendar]", expand: true }, { name: "[Product].[Category]" } ],
  rows: [{ name: "[Geography].[City]" }],
  measures: ["[Measures].[Reseller Freight Cost]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.one("dataBound", function() {
    //Expand CY 2005 - first dimension
    dataSource.expandColumn(["[Date].[Calendar].[Calendar Year].&amp;[2005]"]);

    //Expand All Products under CY 2015 - second dimension
    dataSource.expandColumn(["[Date].[Calendar].[Calendar Year].&amp;[2005]","[Product].[Category].[All Products]"]);
});

dataSource.read();
&lt;/script&gt;
</code></pre>

<h3 id="methods-expandRow"><a href="#methods-expandRow">expandRow</a></h3>

<p>Expands a row tuple member that has children.</p>

<blockquote>
<p>The path should includes the unique member names until the significant (the one that needs to be expanded) member is reached.</p>
</blockquote>

<h4>Parameters</h4>

<h5>path <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a>
</h5>

<p>The path that uniquely specifies the tuple member that needs to be expanded.</p>

<h4>Example - expand second level tuple member</h4>

<pre><code>&lt;!-- Real life demo: http://docs.telerik.com/kendo-ui/web/pivotgrid/how-to/expand-multiple-dimensions --&gt;

&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  rows: [{ name: "[Date].[Calendar]", expand: true }, { name: "[Product].[Category]" } ],
  columns: [{ name: "[Geography].[City]" }],
  measures: ["[Measures].[Reseller Freight Cost]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.one("dataBound", function() {
    //Expand CY 2005 - first dimension
    dataSource.expandRow(["[Date].[Calendar].[Calendar Year].&amp;[2005]"]);

    //Expand All Products under CY 2015 - second dimension
    dataSource.expandRow(["[Date].[Calendar].[Calendar Year].&amp;[2005]","[Product].[Category].[All Products]"]);
});

dataSource.read();
&lt;/script&gt;
</code></pre>

<h3 id="methods-measures"><a href="#methods-measures">measures</a></h3>

<p>Get or sets the measures configuration.</p>

<h4>Parameters</h4>

<h5>val <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a>
</h5>

<p>The measures configuration. Accepts the same values as the <a href="#configuration-measures-values">measures</a> option.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> the current measures configuration.</p>

<h4>Example - set the measures</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.measures(["[Measures].[Internet Order Lines Count]"]);
&lt;/script&gt;
</code></pre>

<h4>Example - get the measures</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  measures: ["[Measures].[Internet Order Lines Count]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

var measures = dataSource.measures();
console.log(measures);// [{ name: "[Measures].[Internet Order Lines Count]" }]
&lt;/script&gt;
</code></pre>

<h3 id="methods-measuresAxis"><a href="#methods-measuresAxis">measuresAxis</a></h3>

<p>Get the name of the axis on which measures are displayed.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a> the axis name.</p>

<h4>Example - set the measures</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  measures: {
      values: ["[Measures].[Internet Order Lines Count]", "[Measures].[Days Current Quarter to Date]"],
      axis: "rows"
  },
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

var axis = dataSource.measuresAxis();
console.log(axis); // "rows"
&lt;/script&gt;
</code></pre>

<h3 id="methods-rows"><a href="#methods-rows">rows</a></h3>

<p>Get or sets the rows configuration.</p>

<h4>Parameters</h4>

<h5>val <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a>
</h5>

<p>The rows configuration. Accepts the same values as the <a href="#configuration-rows">row</a> option.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="type-link"><code>Array</code></a> the current rows configuration.</p>

<h4>Example - set the rows</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2",
        cube: "Adventure Works"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.rows(["[Date].[Calendar]"]);
&lt;/script&gt;
</code></pre>

<h4>Example - get the rows name</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  rows: ["[Date].[Calendar]"],
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

var rows = dataSource.rows();
console.log(rows);// [{ name: ["[Date].[Calendar]"] }]
&lt;/script&gt;
</code></pre>

<h3 id="methods-schemaCatalogs"><a href="#methods-schemaCatalogs">schemaCatalogs</a></h3>

<p>Request catalogs information.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> Deferred object</p>

<h4>Example</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.schemaCatalogs()
    .done(function(catalogs) {
        console.log(catalogs);
    });
&lt;/script&gt;
</code></pre>

<h3 id="methods-schemaCubes"><a href="#methods-schemaCubes">schemaCubes</a></h3>

<p>Request cubes schema information.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> Deferred object</p>

<h4>Example</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.schemaCubes()
    .done(function(cubes) {
        console.log(cubes);
    });
&lt;/script&gt;
</code></pre>

<h3 id="methods-schemaDimensions"><a href="#methods-schemaDimensions">schemaDimensions</a></h3>

<p>Request dimensions schema information.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> Deferred object</p>

<h4>Example</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.schemaDimensions()
    .done(function(dimensions) {
        console.log(dimensions);
    });
&lt;/script&gt;
</code></pre>

<h3 id="methods-schemaHierarchies"><a href="#methods-schemaHierarchies">schemaHierarchies</a></h3>

<p>Request hierarchies schema information.</p>

<h4>Parameters</h4>

<h5>dimensionName <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The name of the dimensions which is 'owner' of the hierarchy.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> Deferred object</p>

<h4>Example</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

var dimensionName = "[Customer]";

dataSource.schemaHierarchies(dimensionName)
    .done(function(dimensions) {
        console.log(dimensions);
    });
&lt;/script&gt;
</code></pre>

<h3 id="methods-schemaLevels"><a href="#methods-schemaLevels">schemaLevels</a></h3>

<p>Request levels schema information.</p>

<h4>Parameters</h4>

<h5>hierarchyName <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="type-link"><code>String</code></a>
</h5>

<p>The name of the hierarchy which is 'owner' of the level.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> Deferred object</p>

<h4>Example</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

var hierarchyName = "[Georgaphy].[City]";

dataSource.schemaLevels(hierarchyName)
    .done(function(levels) {
        console.log(levels);
    });
&lt;/script&gt;
</code></pre>

<h3 id="methods-schemaMeasures"><a href="#methods-schemaMeasures">schemaMeasures</a></h3>

<p>Request measures schema information.</p>

<h4>Returns</h4>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type-link"><code>Object</code></a> Deferred object</p>

<h4>Example</h4>

<pre><code>&lt;script&gt;
var dataSource = new kendo.data.DataSource({
  type: "xmla",
  transport: {
    connection: {
        catalog: "Adventure Works DW 2008R2"
    },
    read: "http://demos.telerik.com/olap/msmdpump.dll"
  },
  schema: {
    type: "xmla"
  }
});

dataSource.schemaMeasures()
    .done(function(measures) {
        console.log(measures);
    });
&lt;/script&gt;
</code></pre> 
        </article>
    </div>
    <div id="feedback-container">
  <div id="feedback-section">
    <script src="/assets/feedback.js?cb=e99a3802c754fe2425831d58312c7c8b"></script>
    <span id="popupNotification"></span>
    <div id="feedback-menu-container">
      <div id="helpful-buttons-container">
        <span class="side-title">Is this article helpful?</span>
        <a class="button" id="yesButton">Yes</a> /
        <a class="button" id="noButton">No</a>
      </div>
      <div id="feedback-submitted-container">
        <span class="side-title">Thank you for your feedback!</span>
      </div>
    </div>
    <div id="feedback-window-container">
      <div id="feedback-form-window" style="background-color: white;">
        <h1 class="feedback-extw__title">Give article feedback</h1>
        <p>Tell us how we can improve this article</p>
        <span id="feedback-form-popup-container"></span>
        <form id="feedback-form">
          <div id="feedback-checkbox-area">
            <input id="hidden-sheet-id" type="hidden" value="14zzclhdh7dMLpg0iq4-2hweCdEiuxxqP3tHdr42-_Cs">
            <label>
              <input type="checkbox" data-bind="checked: outdatedSample" /> Code samples are inaccurate / outdated.
            </label>
            <span class="required-field" data-bind="visible: outdatedSample"></span>
            <textarea id="feedback-code-sample-text-input" placeholder="Please, specify more details ..." class="feedback-extw__textarea"
              data-bind="visible: outdatedSample, value: inaccurateOutdatedCodeSamplesText">
          </textarea>
            <label>
              <input type="checkbox" data-bind="checked: otherMoreInformation" /> I expected to find other / more information.
            </label>
            <span class="required-field" data-bind="visible: otherMoreInformation"></span>
            <textarea id="feedback-more-information-text-input" class="feedback-extw__textarea" placeholder="Please, specify what information can be added ..."
              data-bind="visible: otherMoreInformation, value: otherMoreInformationText">
          </textarea>
            <label>
              <input type="checkbox" data-bind="checked: textErrors" /> There are typos / broken links / broken page elements.
            </label>
            <span class="required-field" data-bind="visible: textErrors"></span>
            <textarea id="feedback-text-errors-text-input" class="feedback-extw__textarea" placeholder="Please, specify what needs to be fixed ..."
              data-bind="visible: textErrors, value: typosLinksElementsText">
          </textarea>
            <label>
              <input type="checkbox" data-bind="checked: inaccurateContent" /> Content is inaccurate / outdated.
            </label>
            <span class="required-field" data-bind="visible: inaccurateContent"></span>
            <textarea id="feedback-inaccurate-content-text-input" class="feedback-extw__textarea" placeholder="Please, specify which conent ..."
              data-bind="visible: inaccurateContent, value: inaccurateOutdatedContentText"></textarea>
            <label>
              <input type="checkbox" data-bind="checked: otherFeedback" /> Other
            </label>
            <span class="required-field" data-bind="visible: otherFeedback"></span>
            <textarea id="feedback-other-text-input" placeholder="Please, enter more details or not listed feedback ..." class="feedback-extw__textarea"
              data-bind="visible: otherFeedback, value: textFeedback">
          </textarea>
            <input id="feedback-email-input" type="email" placeholder="email (optional)" data-email-msg="Email format is not valid."
              class="feedback-extw__input input" data-bind="value: email" />
          </div>
        </form>
        <div class="feedback-extw__foot">
          <button id="form-submit-button" class="feedback-extw__button button button--action">Send feedback</button>
          <button id="form-close-button" class="feedback-extw__button button">Cancel</button>
        </div>
      </div>
    </div>
    <a id="close-button" class="button">
      <img src="/images/close-btn.svg" alt="close" />
    </a>
  </div>
  <div id="feedback-section-dummy">Dummy</div>
</div>
    <footer>
    <p>Copyright &copy; 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.</p>
</footer>

</div>
    </body>
</html>

